package com.buercorp.wangyu.common;

public class encryPtion {
    public static void main(String[] args) {
        // 某系统的数字密码（大于0），比如 1983 采用加密方式进行传输：规则如下：每位数加上5 在对10求余 最后将所有数字反转 得到一串新数 8364
        // 加密
        // 定义一个数组
        int [] arr = {1,9,8,3};
        // 每位数加上5 在对10求余 最后将所有数字反转 得到一串新数
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (arr[i] + 5) % 10;
        }
        // 反转
        for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
            int type = arr[i];
            arr[i] = arr[j];
            arr[j] = type;
        }
        // 拼接
        int number = 0;
        for (int i = 0; i < arr.length; i++) {
            number = number * 10 + arr[i];
            System.out.println(number);
        }

        System.out.println();

        // 解密
        for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
            int type = arr[i];
            arr[i] = arr[j];
            arr[j] = type;
        }

        // 加密是通过对10取余的方式进行获取的
        // 判断 0~4之间+10 5~9之间数字不变

        for (int i = 0; i < arr.length; i++) {
            if(arr[i] >= 0 && arr[i] <= 4){
                arr[i] = arr[i] + 10;
            }
            arr[i] = arr[i] - 5;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}
